package com.ruoyi.assets.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.assets.domain.StateVisit;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * 访问记录Mapper接口
 * 
 * @author ruoyi
 */
public interface StateVisitMapper extends BaseMapper<StateVisit> {
    
    /**
     * 查询今日访问记录
     * 
     * @param today 今日日期
     * @return 今日访问记录
     */
    List<StateVisit> selectTodayVisits(@Param("today") Date today);
    
    /**
     * 获取今日总访问量
     * 
     * @param today 今日日期
     * @return 今日总访问量
     */
    Integer selectTodayTotalVisits(@Param("today") Date today);
    
    /**
     * 根据资产ID查询访问记录
     * 
     * @param assetId 资产ID
     * @return 访问记录
     */
    StateVisit selectVisitByAssetId(@Param("assetId") Long assetId);
    
    /**
     * 按月统计访问量
     * 
     * @param startDate 开始日期
     * @param endDate 结束日期
     * @return 月度访问统计
     */
    List<Map<String, Object>> countMonthlyVisits(@Param("startDate") Date startDate, @Param("endDate") Date endDate);
} 